﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Web;


namespace LotteCinema.DAO
{
    public class DPHIM: KetNoiCSDL
    {
        CPhim cp = new CPhim();
        #region Thêm Dữ Liệu Bảng Sản Phẩm
        //public void Phim_Them_Error(CPhim cp)
        //{
        //    using (SqlCommand cmd = new SqlCommand("sp_THEM_PHIM", LayKetNoi()))
        //    {
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cmd.Parameters.Add(new SqlParameter("@tenphim", cp._tenp));
        //        cmd.Parameters.Add(new SqlParameter("@namsx", cp._namsx));
        //        cmd.Parameters.Add(new SqlParameter("@maqg", cp._maqg));
        //        cmd.Parameters.Add(new SqlParameter("@hangphim", cp._hangphim));
        //        cmd.Parameters.Add(new SqlParameter("@gioithieu", cp._gioithieu));
        //        cmd.Parameters.Add(new SqlParameter("@poster", cp._poster));
        //        cmd.Parameters.Add(new SqlParameter("@thoiluong", cp._thoiluong));
        //        cmd.Parameters.Add(new SqlParameter("@madd", cp._madd));
        //        cmd.Parameters.Add(new SqlParameter("@dienvien", cp._dienvien));
        //        cmd.Parameters.Add(new SqlParameter("@daodien", cp._daodien));
        //        cmd.Parameters.Add(new SqlParameter("@thoigiankhoichieu", cp._thoigiankc));
        //        cmd.Parameters.Add(new SqlParameter("@thoigianngungchieu", cp._thoigiannc));
        //        cmd.ExecuteNonQuery();
        //    }
        //}
        public void Phim_Them_Fix(CPhim cp)
        {
            using (SqlCommand cmd = new SqlCommand("sp_THEM_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@tenphim", cp._tenp));
                cmd.Parameters.Add(new SqlParameter("@namsx", cp._namsx));
                cmd.Parameters.Add(new SqlParameter("@maqg", cp._maqg));
                cmd.Parameters.Add(new SqlParameter("@hangphim", cp._hangphim));
                cmd.Parameters.Add(new SqlParameter("@gioithieu", cp._gioithieu));
                cmd.Parameters.Add(new SqlParameter("@poster", cp._poster));
                cmd.Parameters.Add(new SqlParameter("@thoiluong", cp._thoiluong));
                cmd.Parameters.Add(new SqlParameter("@madd", cp._madd));
                cmd.Parameters.Add(new SqlParameter("@dienvien", cp._dienvien));
                cmd.Parameters.Add(new SqlParameter("@daodien", cp._daodien));
                cmd.Parameters.Add(new SqlParameter("@thoigiankhoichieu",SqlDbType.Date)).Value=cp._thoigiankc.ToString();
                cmd.Parameters.Add(new SqlParameter("@thoigianngungchieu",SqlDbType.Date)).Value=cp._thoigiannc.ToString();
                cmd.ExecuteNonQuery();
            }
        }
        #endregion
        #region  Cập nhât Phim
        public void Phim_CapNhat(CPhim cp)
        {
            using (SqlCommand cmd = new SqlCommand("sp_CAPNHAT_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@maphim", cp._maphim));
                cmd.Parameters.Add(new SqlParameter("@tenphim", cp._tenp));
                cmd.Parameters.Add(new SqlParameter("@namsx", cp._namsx));
                cmd.Parameters.Add(new SqlParameter("@maqg", cp._maqg));
                cmd.Parameters.Add(new SqlParameter("@hangphim", cp._hangphim));
                cmd.Parameters.Add(new SqlParameter("@gioithieu", cp._gioithieu));
                cmd.Parameters.Add(new SqlParameter("@poster", cp._poster));
                cmd.Parameters.Add(new SqlParameter("@thoiluong", cp._thoiluong));
                cmd.Parameters.Add(new SqlParameter("@madd", cp._madd));
                cmd.Parameters.Add(new SqlParameter("@dienvien", cp._dienvien));
                cmd.Parameters.Add(new SqlParameter("@daodien", cp._daodien));
                cmd.Parameters.Add(new SqlParameter("@thoigiankhoichieu", SqlDbType.Date)).Value = cp._thoigiankc.ToString();
                cmd.Parameters.Add(new SqlParameter("@thoigianngungchieu", SqlDbType.Date)).Value = cp._thoigiannc.ToString();
                cmd.ExecuteNonQuery();
            }
        }
        #endregion
        #region Cập Nhật thể Loại Phim
        public void Phim_CapNhatTheLoai(CPhim cp,string matlthem)
        {
            using (SqlCommand cmd = new SqlCommand("sp_CAPNHAT_CHITIETTHELOAI", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@matl", cp._matl));
                cmd.Parameters.Add(new SqlParameter("@maphim", cp._maphim));
                cmd.Parameters.Add(new SqlParameter("@matlthem", matlthem));
                cmd.ExecuteNonQuery();
            }
        }
        #endregion
        #region Thêm thể loại vào phim
        public void Phim_Them_TheLoai(CPhim cp)
        {
            using (SqlCommand cmd = new SqlCommand("sp_THEM_CHITIETTHELOAI", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlCommand cmd2 = new SqlCommand("sp_LAYMAPHIMMOITHEM_PHIM", LayKetNoi());
                cmd2.CommandType = CommandType.StoredProcedure;
                SqlParameter sqlp = cmd2.Parameters.Add("@maphim", SqlDbType.Char);
                sqlp.Size = 5;
                sqlp.Direction = ParameterDirection.Output;
                cmd2.ExecuteNonQuery();
                cp._maphim = sqlp.Value.ToString();
                cmd.Parameters.Add(new SqlParameter("@MATL", cp._matl));
                cmd.Parameters.Add(new SqlParameter("@MAPHIM", cp._maphim));
                cmd.ExecuteNonQuery();
            }
        }
        #endregion
        #region Xóa Phim
        public void Phim_Xoa(CPhim cp)
        {
            using (SqlCommand cmd = new SqlCommand("sp_XOA_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@maphim", cp._maphim));
                SqlCommand cmd2 = new SqlCommand("sp_XOAPHIM_CHITIETTHELOAI", LayKetNoi());
                cmd2.CommandType = CommandType.StoredProcedure;
                cmd2.Parameters.Add(new SqlParameter("@maphim", cp._maphim));
                cmd2.ExecuteNonQuery();
                cmd.ExecuteNonQuery();
            }
        }
        #endregion
        #region Kiểm tra phim đã có khách đặt chưa
        public int Phim_KTPhimDaCoVe(CPhim cp)
        {
            int soluong;
            using (SqlCommand cmd = new SqlCommand("sp_KTPHIMDACOVE_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@MAPHIM", cp._maphim));
                SqlParameter sqlp = cmd.Parameters.Add("@soluong", SqlDbType.Int);
                sqlp.Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                soluong = (int)sqlp.Value;
                return soluong;
            }
        }
        #endregion
        #region Lấy Tất Cả Dữ Liệu Trong Bảng PHIM
        public DataTable PHIM_LayTatCa()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKEPHIM_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy Tất Cả Phim Đang Chiếu Trong Bảng PHIM
        public DataTable PHIM_LayTatCaPhimDangChieu()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKEPHIMDANGCHIEU_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy Tất Cả Phim Sắp Chiếu Trong Bảng PHIM
        public DataTable PHIM_LayTatCaPhimSapChieu()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKEPHIMSAPCHIEU_PHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy Tất Cả Dữ Liệu Trong Bảng DINH DANG PHIM
        public DataTable PHIM_LayTatCaDinhDangPhim()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKEDINHDANGPHIM_DINHDANGPHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy Tất Cả Dữ Liệu Trong Bảng QUOCGIA
        public DataTable PHIM_LayTatCaQuocGia()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKEQUOCGIA_QUOCGIA", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy Tất Cả Dữ Liệu Trong Bảng THELOAIPHIM
        public DataTable PHIM_LayTatCaTheLoaiPhim()
        {
            using (SqlCommand cmd = new SqlCommand("sp_LIETKETHELOAI_THELOAIPHIM", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion
        #region Lấy thông tin CHITIETTHELOAI có tên phim và thể loại
        public DataTable PHIM_LayTatCaChiTietTheLoai(CPhim cp)
        {
            using (SqlCommand cmd = new SqlCommand("sp_LAYTATCACHITIETTHELOAI_CHITIETTHELOAI", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@MAPHIM", cp._maphim));
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion

        #region Lấy Mã Khóa Chính Của Bảng Sản Phẩm
        public DataTable SanPham_LayKhoaChinh(string id)
        {
            using (SqlCommand cmd = new SqlCommand("SANPHAM_LAYKHOACHINH", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@MASP", id));
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion 

        #region Lấy Mã Khóa Ngoại Của Bảng Sản Phẩm
        public DataTable SanPham_LayMaKhoaNgoai(string id)
        {
            using (SqlCommand cmd = new SqlCommand("SANPHAM_LAYMAKHOANGOAI", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@MALOAISP", id));
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion 

        #region Lấy Slide Chính Cho Bản Sản Phẩm
        public DataTable SanPham_SlideChinh()
        {
            using (SqlCommand cmd = new SqlCommand("SANPHAM_SLIDECHINH", LayKetNoi()))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }
        }
        #endregion


        //#region Lấy Slide Theo Loại
        //public DataTable SanPham_SlideTheoLoai(CSanPham sp)
        //{
        //    //using (SqlCommand cmd = new SqlCommand("SANPHAM_SLIDETHEOLOAI", LayKetNoi()))
        //    //{
        //    //    cmd.CommandType = CommandType.StoredProcedure;
        //    //    cmd.Parameters.Add(new SqlParameter("@MALOAISP", sp._maLoaiSP));
        //    //    SqlDataAdapter da = new SqlDataAdapter(cmd);
        //    //    DataTable dt = new DataTable();
        //    //    da.Fill(dt);
        //    //    return dt;
        //    //}
        //}
        //#endregion
       
    }
}
